Delivering selected products with aerial drones

ABSTRACT

A computer-implemented method, system, and/or computer program product optimizes an operation of an aerial drone. A drone on-board computer on an aerial drone receives sensor readings from sensors on the aerial drone, where the sensor readings detect a change in flight conditions while the aerial drone is flying between a first location and a second location. In response to the sensors on the aerial drone detecting a change in the flight conditions while the aerial drone is flying between the first location and the second location, the drone on-board computer disengages an electric motor from propellers on the aerial drone and engages an internal combustion engine to the propellers.

BACKGROUND

The present disclosure relates to the field of aerial drones, andspecifically to aerial drones that deliver products to customers. Morespecifically, the present disclosure relates to matching orders tospecific aerial drones, and controlling the aerial drones through thedelivery process.

An aerial drone is an unmanned aircraft, also known as an unmannedaerial vehicle (UAV). That is, an aerial drone is an airborne vehiclethat is capable of being piloted without an on-board human pilot. Ifautonomously controlled using an on-board computer and pre-programmedinstructions, a UAV is called an autonomous drone. If remotely pilotedby a human pilot, the UAV is called a remotely piloted aircraft (RPA).

SUMMARY

A computer-implemented method, system, and/or computer program productoptimizes an operation of an aerial drone. A drone on-board computer onan aerial drone receives sensor readings from sensors on the aerialdrone, where the sensor readings detect a change in flight conditionswhile the aerial drone is flying between a first location and a secondlocation. In response to the sensors on the aerial drone detecting achange in the flight conditions while the aerial drone is flying betweenthe first location and the second location, the drone on-board computerdisengages an electric motor from propellers on the aerial drone andengages an internal combustion engine to the propellers.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 depicts an exemplary system and network in which the presentdisclosure may be implemented;

FIG. 2 depicts additional detail of an exemplary aerial drone inaccordance with one or more embodiments of the present invention;

FIG. 3 illustrates control hardware in an exemplary aerial drone inaccordance with one or more embodiments of the present invention; and

FIG. 4 is a high-level flow chart of one or more steps performed by oneor more computing devices to optimize an operation of an aerial drone totransport a product to a customer.

DETAILED DESCRIPTION

The present invention may be a system, a method, and/or a computerprogram product. The computer program product may include a computerreadable storage medium (or media) having computer readable programinstructions thereon for causing a processor to carry out aspects of thepresent invention.

The computer readable storage medium can be a tangible device that canretain and store instructions for use by an instruction executiondevice. The computer readable storage medium may be, for example, but isnot limited to, an electronic storage device, a magnetic storage device,an optical storage device, an electromagnetic storage device, asemiconductor storage device, or any suitable combination of theforegoing. A non-exhaustive list of more specific examples of thecomputer readable storage medium includes the following: a portablecomputer diskette, a hard disk, a random access memory (RAM), aread-only memory (ROM), an erasable programmable read-only memory (EPROMor Flash memory), a static random access memory (SRAM), a portablecompact disc read-only memory (CD-ROM), a digital versatile disk (DVD),a memory stick, a floppy disk, a mechanically encoded device such aspunch-cards or raised structures in a groove having instructionsrecorded thereon, and any suitable combination of the foregoing. Acomputer readable storage medium, as used herein, is not to be construedas being transitory signals per se, such as radio waves or other freelypropagating electromagnetic waves, electromagnetic waves propagatingthrough a waveguide or other transmission media (e.g., light pulsespassing through a fiber-optic cable), or electrical signals transmittedthrough a wire.

Computer readable program instructions described herein can bedownloaded to respective computing/processing devices from a computerreadable storage medium or to an external computer or external storagedevice via a network, for example, the Internet, a local area network, awide area network and/or a wireless network. The network may comprisecopper transmission cables, optical transmission fibers, wirelesstransmission, routers, firewalls, switches, gateway computers and/oredge servers. A network adapter card or network interface in eachcomputing/processing device receives computer readable programinstructions from the network and forwards the computer readable programinstructions for storage in a computer readable storage medium withinthe respective computing/processing device.

Computer readable program instructions for carrying out operations ofthe present invention may be assembler instructions,instruction-set-architecture (ISA) instructions, machine instructions,machine dependent instructions, microcode, firmware instructions,state-setting data, or either source code or object code written in anycombination of one or more programming languages, including an objectoriented programming language such as Java, Smalltalk, C++ or the like,and conventional procedural programming languages, such as the “C”programming language or similar programming languages. The computerreadable program instructions may execute entirely on the user'scomputer, partly on the user's computer, as a stand-alone softwarepackage, partly on the user's computer and partly on a remote computeror entirely on the remote computer or server. In the latter scenario,the remote computer may be connected to the user's computer through anytype of network, including a local area network (LAN) or a wide areanetwork (WAN), or the connection may be made to an external computer(for example, through the Internet using an Internet Service Provider).In some embodiments, electronic circuitry including, for example,programmable logic circuitry, field-programmable gate arrays (FPGA), orprogrammable logic arrays (PLA) may execute the computer readableprogram instructions by utilizing state information of the computerreadable program instructions to personalize the electronic circuitry,in order to perform aspects of the present invention.

Aspects of the present invention are described herein with reference toflowchart illustrations and/or block diagrams of methods, apparatus(systems), and computer program products according to embodiments of theinvention. It will be understood that each block of the flowchartillustrations and/or block diagrams, and combinations of blocks in theflowchart illustrations and/or block diagrams, can be implemented bycomputer readable program instructions.

These computer readable program instructions may be provided to aprocessor of a general purpose computer, special purpose computer, orother programmable data processing apparatus to produce a machine, suchthat the instructions, which execute via the processor of the computeror other programmable data processing apparatus, create means forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks. These computer readable program instructionsmay also be stored in a computer readable storage medium that can directa computer, a programmable data processing apparatus, and/or otherdevices to function in a particular manner, such that the computerreadable storage medium having instructions stored therein comprises anarticle of manufacture including instructions which implement aspects ofthe function/act specified in the flowchart and/or block diagram blockor blocks.

The computer readable program instructions may also be loaded onto acomputer, other programmable data processing apparatus, or other deviceto cause a series of operational steps to be performed on the computer,other programmable apparatus or other device to produce a computerimplemented process, such that the instructions which execute on thecomputer, other programmable apparatus, or other device implement thefunctions/acts specified in the flowchart and/or block diagram block orblocks.

The flowchart and block diagrams in the Figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods, and computer program products according to variousembodiments of the present invention. In this regard, each block in theflowchart or block diagrams may represent a module, segment, or portionof instructions, which comprises one or more executable instructions forimplementing the specified logical function(s). In some alternativeimplementations, the functions noted in the block may occur out of theorder noted in the figures. For example, two blocks shown in successionmay, in fact, be executed substantially concurrently, or the blocks maysometimes be executed in the reverse order, depending upon thefunctionality involved. It will also be noted that each block of theblock diagrams and/or flowchart illustration, and combinations of blocksin the block diagrams and/or flowchart illustration, can be implementedby special purpose hardware-based systems that perform the specifiedfunctions or acts or carry out combinations of special purpose hardwareand computer instructions.

With reference now to the figures, and in particular to FIG. 1, there isdepicted a block diagram of an exemplary system and network that may beutilized by and/or in the implementation of the present invention. Someor all of the exemplary architecture, including both depicted hardwareand software, shown for and within computer 101 may be utilized by droneon-board computer 123 and/or positioning system 151 shown in FIG. 1,and/or drone on-board computer 223 shown in FIG. 2.

Exemplary computer 101 includes a processor 103 that is coupled to asystem bus 105. Processor 103 may utilize one or more processors, eachof which has one or more processor cores. A video adapter 107, whichdrives/supports a display 109, is also coupled to system bus 105. Systembus 105 is coupled via a bus bridge 111 to an input/output (I/O) bus113. An I/O interface 115 is coupled to I/O bus 113. I/O interface 115affords communication with various I/O devices, including a keyboard117, a scale 119 (i.e., a digital weight scale), a media tray 121 (whichmay include storage devices such as CD-ROM drives, multi-mediainterfaces, etc.), and external USB port(s) 125. While the format of theports connected to I/O interface 115 may be any known to those skilledin the art of computer architecture, in one embodiment some or all ofthese ports are universal serial bus (USB) ports.

Also coupled to I/O interface 115 is a positioning system 151, whichdetermines a position of computer 101 and/or other devices usingpositioning sensors 153. Positioning sensors 153, which may be any typeof sensors that are able to determine a position of a device, includingcomputer 101, an aerial drone 301 shown in FIG. 3, etc. Positioningsensors 153 may utilize, without limitation, satellite based positioningdevices (e.g., global positioning system—GPS based devices),accelerometers (to measure change in movement), barometers (to measurechanges in altitude), etc.

As depicted, computer 101 is able to communicate with a softwaredeploying server 149 and/or other devices/systems (e.g., drone on-boardcomputer 123) using a network interface 129. Network interface 129 is ahardware network interface, such as a network interface card (NIC), etc.Network 127 may be an external network such as the Internet, or aninternal network such as an Ethernet or a virtual private network (VPN).In one or more embodiments, network 127 is a wireless network, such as aWi-Fi network, a cellular network, etc.

A hard drive interface 131 is also coupled to system bus 105. Hard driveinterface 131 interfaces with a hard drive 133. In one embodiment, harddrive 133 populates a system memory 135, which is also coupled to systembus 105. System memory is defined as a lowest level of volatile memoryin computer 101. This volatile memory includes additional higher levelsof volatile memory (not shown), including, but not limited to, cachememory, registers and buffers. Data that populates system memory 135includes computer 101's operating system (OS) 137 and applicationprograms 143.

OS 137 includes a shell 139, for providing transparent user access toresources such as application programs 143. Generally, shell 139 is aprogram that provides an interpreter and an interface between the userand the operating system. More specifically, shell 139 executes commandsthat are entered into a command line user interface or from a file.Thus, shell 139, also called a command processor, is generally thehighest level of the operating system software hierarchy and serves as acommand interpreter. The shell provides a system prompt, interpretscommands entered by keyboard, mouse, or other user input media, andsends the interpreted command(s) to the appropriate lower levels of theoperating system (e.g., a kernel 141) for processing. While shell 139 isa text-based, line-oriented user interface, the present invention willequally well support other user interface modes, such as graphical,voice, gestural, etc.

As depicted, OS 137 also includes kernel 141, which includes lowerlevels of functionality for OS 137, including providing essentialservices required by other parts of OS 137 and application programs 143,including memory management, process and task management, diskmanagement, and mouse and keyboard management.

Application programs 143 include a renderer, shown in exemplary manneras a browser 145. Browser 145 includes program modules and instructionsenabling a world wide web (WWW) client (i.e., computer 101) to send andreceive network messages to the Internet using hypertext transferprotocol (HTTP) messaging, thus enabling communication with softwaredeploying server 149 and other systems.

Application programs 143 in computer 101's system memory also includeLogic for Managing Drone Operations (LMDO) 147. LMDO 147 includes codefor implementing the processes described below, including thosedescribed in FIGS. 2-4.

The hardware elements depicted in computer 101 are not intended to beexhaustive, but rather are representative to highlight essentialcomponents required by the present invention. For instance, computer 101may include alternate memory storage devices such as magnetic cassettes,digital versatile disks (DVDs), Bernoulli cartridges, and the like.These and other variations are intended to be within the spirit andscope of the present invention.

FIG. 2 illustrates control hardware in an exemplary aerial drone 200 inaccordance with one or more embodiments of the present invention. Theterms “aerial drone”, “drone”, and “UAV” are used interchangeably hereinto identify and describe an airborne vehicle that is capable ofpilot-less flight and carrying a product to a customer.

As shown in FIG. 2, aerial drone 200 includes a body 202, which isattached to supports such as support 204. Supports such as support 204support stanchions such as stanchion 206. Such stanchions provide ahousing for a driveshaft within each of the stanchions, such as thedepicted driveshaft 208 within stanchion 206. These driveshafts areconnected to propellers. For example, driveshaft 208 within stanchion206 is connected to propeller 210.

A power transfer mechanism 212 (e.g., a chain, a primary driveshaft,etc.) transfers power from a geared transmission 214 to the driveshaftswithin the stanchions (e.g., from geared transmission 214 to thedriveshaft 208 inside stanchion 206), such that propeller 210 is turned.Geared transmission 214 preferably contains a plurality of gears, suchthat a gear ratio inside geared transmission 214 can be selectivelychanged.

Power to the geared transmission 214 is selectively provided by anelectric motor 216 (which is supplied with electrical power by a battery218) or an internal combustion engine 220, which burns fuel from a fueltank (not shown). In one or more embodiments of the present invention,the internal combustion engine 220 has greater power than the electricmotor 216, since internal combustion engines are able to produce greatertorque/power than electric motors of the same size/weight.

Affixed to the bottom of body 202 is a retention device 222. Retentiondevice 222 is a hinged structure that preferably isconfigured/manipulated by an internal electro-mechanical actuator 224that opens and closes the throat of the retention device 222. When theactuator 224 causes the throat of retention device 222 to close, a load226 (i.e., a product being delivered to a customer) is secured to theaerial drone 200. When the actuator 224 causes the throat of retentiondevice 222 to open, the load 226 is released from the aerial drone 200.

With reference now to FIG. 3, exemplary control hardware within aerialdrone 200 presented in FIG. 2 is depicted.

A drone on-board computer 323 (analogous to drone on-board computer 123shown in FIG. 1) controls a drone mechanism controller 301, which is acomputing device that controls a set of drone physical controlmechanisms 303. The set of drone physical control mechanisms 303include, but are not limited to, throttles for internal combustionengine 220 and/or electric motor 216, selectors for selecting gearratios within the geared transmission 214, controls for adjusting thepitch, roll, and angle of attack of propellers such as propeller 210,actuator 224, and other controls used to control the operation of theaerial drone 200 depicted in FIG. 2.

Whether in autonomous mode or remotely-piloted mode, the drone on-boardcomputer 323 controls the operation of aerial drone 200. This controlincludes the use of outputs from navigation and control sensors 211 tocontrol the aerial drone 200. Navigation and control sensors 305 includehardware sensors that (1) determine the location of the aerial drone200; (2) sense other aerial drones and/or obstacles and/or physicalstructures around aerial drone 200; (3) measure the speed and directionof the aerial drone 200; and (4) provide any other inputs needed tosafely control the movement of the aerial drone 200.

With respect to the feature of (1) determining the location of theaerial drone 200, this is achieved in one or more embodiments of thepresent invention through the use of a positioning system such aspositioning system 151 shown in FIG. 1. Positioning system 151 may use aglobal positioning system (GPS), which uses space-based satellites thatprovide positioning signals that are triangulated by a GPS receiver todetermine a 3-D geophysical position of the aerial drone 200.Positioning system 151 may also use, either alone or in conjunction witha GPS system, physical movement sensors such as accelerometers (whichmeasure changes in direction and/or speed by an aerial drone in anydirection in any of three dimensions), speedometers (which measure theinstantaneous speed of an aerial drone), air-flow meters (which measurethe flow of air around an aerial drone), barometers (which measurealtitude changes by the aerial drone), etc. Such physical movementsensors may incorporate the use of semiconductor strain gauges,electromechanical gauges that take readings from drivetrain rotations,barometric sensors, etc.

With respect to the feature of (2) sensing other aerial drones and/orobstacles and/or physical structures around aerial drone 200, thepositioning system 151 may use radar or other electromagnetic energythat is emitted from an electromagnetic radiation transmitter (e.g.,transceiver 307 shown in FIG. 3), bounced off a physical structure(e.g., a building, bridge, or another aerial drone), and then receivedby an electromagnetic radiation receiver (e.g., transceiver 323). Bymeasuring the time it takes to receive back the emitted electromagneticradiation, and/or evaluating a Doppler shift (i.e., a change infrequency to the electromagnetic radiation that is caused by therelative movement of the aerial drone 200 to objects being interrogatedby the electromagnetic radiation) in the received electromagneticradiation from when it was transmitted, the presence and location ofother physical objects can be ascertained by the drone on-board computer323.

With respect to the feature of (3) measuring the speed and direction ofthe aerial drone 200, this is accomplished in one or more embodiments ofthe present invention by taking readings from an on-board airspeedindicator (not depicted) on the aerial drone 200 and/or detectingmovements to the control mechanisms (depicted in FIG. 2) on the aerialdrone 200 and/or the positioning system 151 discussed above.

With respect to the feature of (4) providing any other inputs needed tosafely control the movement of the aerial drone 200, such inputsinclude, but are not limited to, control signals to activate a horn(e.g., speaker 309), flash emergency lights (e.g., lights 311), etc. onthe aerial drone 200.

Also on aerial drone 200 in one or more embodiments of the presentinvention is a camera 313, which is capable of sending still or movingdigital photographic images to the drone on-board computer 323.

Also on aerial drone 200 in one or more embodiments of the presentinvention are sensors 315. Examples of sensors 315 include, but are notlimited to, air pressure gauges, microphones, barometers, chemicalsensors, vibration sensors, etc., which detect a real-time operationalcondition of aerial drone 200 and/or an environment around aerial drone200.

With reference now to FIG. 4, a high-level flow chart of one or moresteps performed by one or more computing devices to optimize anoperation of an aerial drone to transport a product to a customer ispresented.

After initiator block 402, one or more processors receive an onlineorder for a product from a customer, as depicted in block 404. (In oneor more embodiments, this is performed by an Order Fulfillment System,which incorporates the use of computer 101 with LMDO 147 depicted inFIG. 1.) The product is initially stored in a warehouse or other storagelocation. The processor(s) then determine whether or not the customerwho placed the order is authorized to have the product delivered by anaerial drone (e.g., a “Drone Delivery System”). That is, the system willallow products to be delivered only to preauthorizedlocations/customers, in order to avoid nefarious or dangerous activity.For example, a customer may not be allowed to have a product transportedacross a national border, since this would circumvent import/exportrequirements. Similarly, a product may not be transported by the aerialdrone if it would require taking a flight path through restricted air(i.e., where aircraft are prohibited from operating), through ahazardous area (e.g., when crashing the aerial drone could cause anexplosion or harm to persons on the ground), etc. Similarly, certaincustomers may not be authorized to receive products via an aerial droneif they live in an area that cannot handle aerial drone landings (e.g.,a high-rise building), they have pets that could be harmed by the aerialdrone, they have pets that could pounce on the aerial drone and damageit, etc.

In one or more embodiments of the present invention, A Drone DeliveryFeasibility Analysis System (which incorporates the use of computer 101with LMDO 147 depicted in FIG. 1) reads and utilizes customer profiles,and then verifies eligibility of customer membership plans andpreferences for deliveries through drones. If this information is notfound in existing customer profiles, then the Drone Deliver FeasibilityAnalysis System whether or not there is other data to identify whetheror not this customer chosen deliveries by drones, particularly for thespecific order.

In one or more embodiments of the present invention, the aerial dronehas a predetermined travel range, particularly when operating onelectric power.

As shown in query block 406, a determination is made as to whether ornot the customer that placed the order is authorized to receive theproduct via the aerial drone. (In one or more embodiments, this isperformed by the Drone Deliver Feasibility Analysis System.) If so, thenthe system (e.g., computer 101 shown in FIG. 1) identifies a weight,size, item type, and value of the product, as depicted in block 408. Inone embodiment, all of this information is received from adatabase/catalogue of products. However, in another embodiment, theweight is derived from a digital scale (e.g., scale 119 shown in FIG.1), which sends the exact/actual weight of the product to computer 101.

As shown in block 410, the processor(s) then determines whether theaerial drone is physically able to lift and transport the product havingthe identified weight, size, item type, and value while using theelectric motor as the power system for the propellers on the aerialdrone. That is, the rated lifting capacity for the aerial drone (asretrieved from a profile database for the aerial drone) is compared tothe size and weight of the product being shipped. Furthermore, certaindrones may be authorized to carry certain types of products. Forexample, if the product is a flammable product, then only electricpowered aerial drones may transport such a product. Similarly, if aproduct is worth more than some predetermined value (e.g., more than$1,000 USD), then only an aerial drone that has proper safeguards (e.g.,cannot be “hacked” due to an on-board security system that preventsnefarious control signals from being responded to the by the droneon-board computer 323 shown in FIG. 3; has redundant controls and/orpower supplies and/or motors, etc.) to ensure that the product is safelydelivered to the customer. Alternatively, the product that has more thanthe predetermined value is placed on a ground mode of transportation(e.g., a truck) rather than the aerial drone.

The processor(s) then retrieve (e.g., from a customer database) aphysical address of the customer. Using this information, theprocessor(s) calculate a distance from the storage warehouse to thephysical address of the customer. If the aerial drone is able to liftthe product and carry it the required distance (query block 412), thenthe processor(s) compare a first cost of delivering the product usingthe aerial drone to a second cost of delivering the product using aground-based mode of transportation (block 414). That is, the monetarycost of using the aerial drone may exceed some predefined limit, such asthe monetary cost of using the ground-based mode of transportation.

As depicted in query block 416, a determination is made as to whether ornot the distance from the warehouse to the physical address of thecustomer is less than the predetermined travel range of the aerialdrone, whether current weather conditions (e.g., as identified bysensors on the aerial drone and/or from a weather service) are conduciveto aerial drone delivery operations, whether or not the first cost (forusing the aerial drone) is less than the second cost (for using theground-based mode of transportation), and whether or not the aerialdrone is physically able to lift and transport the product. If theanswer to all of these determinations is “yes” (i.e., the aerial dronehas the range, is cost effective, and is physically able to deliver theproduct), then the processor(s) (e.g., within computer 101 shown inFIG. 1) assign/select/direct the aerial drone to deliver the product tothe customer, and launch the aerial drone with the attached product (byusing the electrically actuated retention device 222 shown in FIG. 2).That is, the drone on-board computer 323 on board the aerial dronelaunches the aerial drone with the product coupled to the aerial dronefrom the warehouse towards the physical address of the customer throughuse of the drone mechanisms controller 301 and the set of drone physicalcontrol mechanisms 303 shown in FIG. 3. Initially, the electric motor(e.g., electric motor 216 shown in FIG. 2) is engaged to the propellers(e.g., propeller 210 shown in FIG. 2) on the aerial drone.

As shown in block 420, a query is made as to whether or not there areany changes to flight conditions while the aerial drone is transportingthe product. That is, the drone on-board computer receives sensorreadings from sensors (e.g., sensors 315 shown in FIG. 3) on the aerialdrone. These sensor readings detect a change in flight conditions whilethe aerial drone is flying between the warehouse and the physicaladdress of the customer. If so, then the drone on-board computer directsthe drone mechanisms controller 301 to disengage the electric motor fromthe propellers and to engage the more powerful internal combustionengine to the propellers. The internal combustion engine thus providesthe needed power to handle the change in flight conditions, such as badweather, obstacles, birds, other aerial drones, etc.

Thus, in one embodiment of the present invention, one or more sensors(e.g., camera 313 and/or sensors 315 shown in FIG. 3) that are affixedto the aerial drone identify aerial obstacles between the warehouse andthe physical address of the customer that the aerial drone must flyaround. In one embodiment, this change in flight conditions is caused byaerial obstacles, such as buildings, bridges, birds, other aerialdrones, etc. The drone on-board computer 323 then adjusts a physicalconfiguration of the aerial drone (e.g., changes propeller pitch,increases throttle, changes direction, etc.) based on the aerialobstacles between the warehouse and the physical address of thecustomer.

After a while, the aerial drone may revert back to using the electricmotor (e.g., weather conditions improve, etc.). Now, however, the aerialdrone will likely be too quiet to scare away birds in its flight path.Therefore, the drone on-board computer 323, in response to receivingsensor indications (e.g., from camera 313) that birds are on its flightpath, will generate a tone (preferably between 1 Khz and 4 Khz, which isdeemed most effective in dispersing birds) that is produced on a speaker(e.g., speaker 309 in FIG. 3).

In another embodiment of the present invention, if the drone on-boardcomputer 323 determines, based on images sent from camera 313, that itis on course to come near another aircraft (drone or piloted), the droneon-board computer 323 will adjust flight control surfaces (e.g.,propeller pitch/roll/collective controllers) on the aerial drone toavoid flying near said another aircraft. Similarly, if sensors detectthat the aerial drone is about to fly into hazardous weather (i.e., a“change in flight conditions”), then the drone on-board computer 323will adjust flight control surfaces (e.g., propellerpitch/roll/collective controllers) on the aerial drone to avoid flyingnear or through such weather.

The terminology used herein is for the purpose of describing particularembodiments only and is not intended to be limiting of the presentinvention. As used herein, the singular forms “a”, “an” and “the” areintended to include the plural forms as well, unless the context clearlyindicates otherwise. It will be further understood that the terms“comprises” and/or “comprising,” when used in this specification,specify the presence of stated features, integers, steps, operations,elements, and/or components, but do not preclude the presence oraddition of one or more other features, integers, steps, operations,elements, components, and/or groups thereof.

The corresponding structures, materials, acts, and equivalents of allmeans or step plus function elements in the claims below are intended toinclude any structure, material, or act for performing the function incombination with other claimed elements as specifically claimed. Thedescription of various embodiments of the present invention has beenpresented for purposes of illustration and description, but is notintended to be exhaustive or limited to the present invention in theform disclosed. Many modifications and variations will be apparent tothose of ordinary skill in the art without departing from the scope andspirit of the present invention. The embodiment was chosen and describedin order to best explain the principles of the present invention and thepractical application, and to enable others of ordinary skill in the artto understand the present invention for various embodiments with variousmodifications as are suited to the particular use contemplated.

Any methods described in the present disclosure may be implementedthrough the use of a VHDL (VHSIC Hardware Description Language) programand a VHDL chip. VHDL is an exemplary design-entry language for FieldProgrammable Gate Arrays (FPGAs), Application Specific IntegratedCircuits (ASICs), and other similar electronic devices. Thus, anysoftware-implemented method described herein may be emulated by ahardware-based VHDL program, which is then applied to a VHDL chip, suchas a FPGA.

Having thus described embodiments of the present invention of thepresent application in detail and by reference to illustrativeembodiments thereof, it will be apparent that modifications andvariations are possible without departing from the scope of the presentinvention defined in the appended claims.

What is claimed is:
 1. A computer-implemented method of optimizing anoperation of an aerial drone, the computer-implemented methodcomprising: receiving, by a drone on-board computer on an aerial drone,sensor readings from sensors on the aerial drone, wherein the sensorreadings detect a change in flight conditions while the aerial drone isflying between a first location and a second location; and in responseto the sensors on the aerial drone detecting a change in the flightconditions while the aerial drone is flying between the first locationand the second location, disengaging, by the drone on-board computer, anelectric motor from propellers on the aerial drone and engaging aninternal combustion engine to the propellers.
 2. Thecomputer-implemented method of claim 1, further comprising: identifying,by one or more sensors affixed to the aerial drone, aerial obstaclesthat the aerial drone must fly around when flying between the firstlocation and the second location, wherein the aerial obstacles are thechange in flight conditions; and adjusting, by the drone on-boardcomputer, a physical configuration of the aerial drone based on theaerial obstacles between the first location and the second location. 3.The computer-implemented method of claim 2, further comprising:identifying, by a camera mounted on the aerial drone, the aerialobstacles as a flock of birds, wherein a presence of the flock of birdsis the change in flight conditions.
 4. The computer-implemented methodof claim 3, further comprising: in response to the sensors affixed tothe aerial drone detecting a subsequent change in the flight conditionswhile the aerial drone is flying between the first location and thesecond location, disengaging, by the drone on-board computer, theinternal combustion engine from the propellers and engaging the electricmotor to the propellers; and in response to engaging the electric motor,emitting, from a speaker on the aerial drone, a tone between 1 Khz and 4Khz to disperse the flock of birds.
 5. The computer-implemented methodof claim 2, further comprising: identifying, by a camera mounted on theaerial drone, the aerial obstacles as another aircraft, wherein apresence of said another aircraft is the change in flight conditions;and adjusting, by the drone on-board computer, flight control surfaceson the aerial drone to avoid flying near said another aircraft.
 6. Thecomputer-implemented method of claim 1, further comprising: identifying,by one or more sensors affixed to the aerial drone, the change in flightconditions as a change in weather conditions between the first locationand the second location, wherein the change in weather conditionspresents a hazardous weather condition to the aerial drone; andadjusting, by the drone on-board computer, flight control surfaces onthe aerial drone to avoid flying through the hazardous weathercondition.
 7. The computer-implemented method of claim 1, wherein theaerial drone is transporting a product, and wherein thecomputer-implemented method further comprises: determining that a valueof the product exceeds a predetermined value; and in response todetermining that the value of the product exceeds the predeterminedvalue, removing the product from the aerial drone and placing theproduct on a ground-based mode of transportation.
 8. A computer programproduct for optimizing an operation of an aerial drone, the computerprogram product comprising a non-transitory computer readable storagemedium having program code embodied therewith, the program code readableand executable by a processor to perform a method comprising: receivingsensor readings from sensors on the aerial drone, wherein the sensorreadings detect a change in flight conditions while the aerial drone isflying between a first location and a second location; and in responseto the sensors on the aerial drone detecting a change in the flightconditions while the aerial drone is flying between the first locationand the second location, disengaging, by a drone on-board computer, anelectric motor from propellers on the aerial drone and engaging aninternal combustion engine to the propellers.
 9. The computer programproduct of claim 8, wherein the method further comprises: identifying,based on sensor readings from one or more sensors affixed to the aerialdrone, aerial obstacles that the aerial drone must fly around whenflying between the first location and the second location, wherein theaerial obstacles are the change in flight conditions; and adjusting aphysical configuration of the aerial drone based on the aerial obstaclesbetween the first location and the second location.
 10. The computerprogram product of claim 9, wherein the method further comprises:identifying, based on images captured by a camera mounted on the aerialdrone, the aerial obstacles as a flock of birds, wherein a presence ofthe flock of birds is the change in flight conditions.
 11. The computerprogram product of claim 10, wherein the method further comprises: inresponse to the sensors on the aerial drone detecting a subsequentchange in the flight conditions while the aerial drone is flying betweenthe first location and the second location, disengaging the internalcombustion engine from the propellers and engaging the electric motor tothe propellers; and in response to engaging the electric motor,emitting, via a speaker on the aerial drone, a tone between 1 Khz and 4Khz to disperse the flock of birds.
 12. The computer program product ofclaim 9, wherein the method further comprises: identifying, by a cameramounted on the aerial drone, the aerial obstacles as another aircraft,wherein a presence of said another aircraft is the change in flightconditions; and adjusting, by the drone on-board computer, flightcontrol surfaces on the aerial drone to avoid flying near said anotheraircraft.
 13. The computer program product of claim 8, wherein themethod further comprises: identifying, by one or more sensors affixed tothe aerial drone, the change in flight conditions as a change in weatherconditions between the first location and the second location, whereinthe change in weather conditions presents a hazardous weather conditionto the aerial drone; and adjusting, by the drone on-board computer,flight control surfaces on the aerial drone to avoid flying through thehazardous weather condition.
 14. The computer program product of claim8, wherein the aerial drone is transporting a product, and wherein themethod further comprises: determining that a value of the productexceeds a predetermined value; and in response to determining that thevalue of the product exceeds the predetermined value, removing theproduct from the aerial drone and placing the product on a ground-basedmode of transportation.
 15. A computer system comprising: a processor, acomputer readable memory, and a non-transitory computer readable storagemedium; first program instructions to receive sensor readings fromsensors on an aerial drone, wherein the sensor readings detect a changein flight conditions while the aerial drone is flying between a firstlocation and a second location; and second program instructions to, inresponse to the sensors on the aerial drone detecting a change in theflight conditions while the aerial drone is flying between the firstlocation and the second location, disengage, by a drone on-boardcomputer, an electric motor from propellers on the aerial drone andengage an internal combustion engine to the propellers; and wherein thefirst and second program instructions are stored on the non-transitorycomputer readable storage medium for execution by one or more processorsvia the computer readable memory.
 16. The computer system of claim 15,further comprising: third program instructions to identify, based onsensor readings from one or more sensors affixed to the aerial drone,aerial obstacles that the aerial drone must fly around when flyingbetween the first location and the second location, wherein the aerialobstacles are the change in flight conditions; and fourth programinstructions to adjust a physical configuration of the aerial dronebased on the aerial obstacles between the first location and the secondlocation; and wherein the third and fourth program instructions arestored on the non-transitory computer readable storage medium forexecution by one or more processors via the computer readable memory.17. The computer system of claim 16, further comprising: fifth programinstructions to identify, based on images captured by a camera mountedon the aerial drone, the aerial obstacles as a flock of birds, wherein apresence of the flock of birds is the change in flight conditions; andwherein the fifth program instructions are stored on the non-transitorycomputer readable storage medium for execution by one or more processorsvia the computer readable memory.
 18. The computer system of claim 17,further comprising: sixth program instructions to, in response to thesensors on the aerial drone detecting a subsequent change in the flightconditions while the aerial drone is flying between the first locationand the second location, disengage the internal combustion engine fromthe propellers and engaging the electric motor to the propellers; andseventh program instructions to, in response to engaging the electricmotor, direct a speaker on the aerial drone to emit a tone between 1 Khzand 4 Khz to disperse the flock of birds; and wherein the sixth andseventh program instructions are stored on the non-transitory computerreadable storage medium for execution by one or more processors via thecomputer readable memory.
 19. The computer system of claim 16, furthercomprising: fifth program instructions to identify, based on imagescaptured by a camera mounted on the aerial drone, the aerial obstaclesas another aircraft, wherein a presence of said another aircraft is thechange in flight conditions; and sixth program instructions to adjustflight control surfaces on the aerial drone to avoid flying near saidanother aircraft; and wherein the fifth and sixth program instructionsare stored on the non-transitory computer readable storage medium forexecution by one or more processors via the computer readable memory.20. The computer system of claim 15, further comprising: third programinstructions to identify, based on sensor readings from one or moresensors affixed to the aerial drone, the change in flight conditions asa change in weather conditions between the first location and the secondlocation, wherein the change in weather conditions presents a hazardousweather condition to the aerial drone; and fourth program instructionsto adjust flight control surfaces on the aerial drone to avoid flyingthrough the hazardous weather condition; and wherein the third andfourth program instructions are stored on the non-transitory computerreadable storage medium for execution by one or more processors via thecomputer readable memory.